package cn.mccraft.uide.api;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.google.inject.Inject;
import com.google.inject.name.Named;
import cn.mccraft.uide.api.util.i18n.I18n;
import cn.mccraft.uide.api.workspace.Workspace;
import cn.mccraft.uide.api.plugin.PluginI18nManager;
import cn.mccraft.uide.api.project.ProjectManager;
import cn.mccraft.uide.api.ui.action.ActionManager;
import ro.fortsoft.pf4j.PluginManager;

public final class UIDEAPI {

	private static Logger logger = LoggerFactory.getLogger("UIDE");
	
	@Inject
	@Named("coreI18n")
	private static I18n coreI18n;
	@Inject
	private static Workspace workspace;
	@Inject
	private static PluginManager pluginManager;
	@Inject
	private static PluginI18nManager pluginI18nManager;
	@Inject
	private static ProjectManager projectManager;
	@Inject
	private static ActionManager actionManager;
	
	public static Logger getLogger() {
		return logger;
	}
	
	public static PluginManager getPluginManager() {
		return pluginManager;
	}
	
	public static PluginI18nManager getPluginI18nManager() {
		return pluginI18nManager;
	}
	
	public static I18n getCoreI18n() {
		return coreI18n;
	}
	
	public static ProjectManager getProjectManager() {
		return projectManager;
	}
	
	public static ActionManager getActionManager() {
		return actionManager;
	}
	
	public static Workspace getWorkspace() {
		return workspace;
	}
}
